package com.xinghai.system.service;

import java.io.Serializable;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xinghai.system.domain.QdUser;
import com.xinghai.system.domain.entity.RegisterDTO;
import com.xinghai.system.domain.entity.UpdateSuperDTO;

/**
 * 用户Service接口
 *
 * @author xinghai
 * @date 2024-12-04
 */
public interface IQdUserService extends IService<QdUser>
{

    /**
     * 查询用户列表
     *
     * @param qdUser 用户
     * @return 用户集合
     */
    List<QdUser> list(QdUser qdUser);

    /**
     * 删除用户信息
     * @param id 需要删除的数据ID
     * @param flag 是否是逻辑删除
     * @return 结果
     */
    boolean delete(Long id, boolean flag);

    QdUser getByLoginId(Serializable id);
    /**
     * 批量删除用户信息
     *
     * @param ids 需要删除的数据ID集合
     * @param flag 是否是逻辑删除
     * @return 结果
     */
    boolean deleteBatch(Long[] ids, boolean flag);

    /**
     * 导入用户信息
     *
     * @param qdUserList 用户信息集合
     * @return 结果
     */
    public boolean importData(List<QdUser> qdUserList);

    QdUser getByUserPhone(String userPhone);

    QdUser getByInviteCode(String inviteCode);

    boolean registerUser(RegisterDTO register);

    String queryAllChild(String userId);

    List<QdUser> getAllParentMemberById(String userId);

    public boolean updatePushNum(String userId,int num);

    public boolean updateTeamNum(String userId,int num);

    public boolean updateSuperInfo(UpdateSuperDTO dto);

    public boolean saveInfo(QdUser qdUser);
}
